﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using Microsoft.Win32;

namespace FixAtribbFolderFile
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btn_browse_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog fbd = new FolderBrowserDialog();
            fbd.ShowNewFolderButton = false;
            fbd.Description = "Hãy chọn thư mục bị virus làm ẩn.";
            fbd.RootFolder = Environment.SpecialFolder.MyComputer;
            if (fbd.ShowDialog() == DialogResult.OK)
            {
                txt_path.Text = fbd.SelectedPath;
            }
        }

        private void btn_fix_Click(object sender, EventArgs e)
        {
            if (txt_path.Text != "")
            {
                DirectoryInfo di = new DirectoryInfo(txt_path.Text);
                di.Attributes = FileAttributes.Normal;

                FileInfo fi = new FileInfo(txt_path.Text);
                fi.Attributes = FileAttributes.Normal;

                foreach (string fileName1 in System.IO.Directory.GetFiles(txt_path.Text, "*", SearchOption.AllDirectories))
                {
                    System.IO.FileInfo fileInfo1 = new System.IO.FileInfo(fileName1);
                    fileInfo1.Attributes = FileAttributes.Normal;
                }

                foreach (string fileName in System.IO.Directory.GetDirectories(txt_path.Text, "*", SearchOption.AllDirectories))
                {
                    System.IO.DirectoryInfo fileInfo = new System.IO.DirectoryInfo(fileName);
                    fileInfo.Attributes = FileAttributes.Normal;
                }
                MessageBox.Show("Đã fix xong, tất cả các file bị ẩn đã hiện ra.", "Xong!");
            }
            else
            {
                MessageBox.Show("Bạn chưa chọn thư mục!", "Thông báo");
            }
        }

        private void lnk_timkiemaz_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            System.Diagnostics.Process.Start("http://timkiemaz.com");
        }

        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox1.Checked == true)
            {
                RegistryKey startPageKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Internet Explorer\Main", true);
                startPageKey.SetValue("Start Page", "http://timkiemaz.com");
                startPageKey.Close();
            }
        }

        private void btn_exit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        int xDown, yDown;       //lưu vị trí được nhấn của chuột
        bool isDown = false;    //cờ báo chuột có được nhấn hay không
        private void pn_title_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Left)
            {
                //đổi cờ báo
                isDown = true;
                //lưu lại vị trí nhấn
                xDown = e.X;
                yDown = e.Y;
            }
        }

        private void pn_title_MouseMove(object sender, MouseEventArgs e)
        {
            if (isDown)
            {
                //thay đổi vị trí Form
                this.Left += (e.X - xDown);
                this.Top += (e.Y - yDown);
            }
        }

        private void pn_title_MouseUp(object sender, MouseEventArgs e)
        {
            //đổi cờ báo
            isDown = false;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            CheckUpdate chk_up = new CheckUpdate("https://dl.dropboxusercontent.com/u/79154193/Update_mrdat/FixAtribb/FixAtrib.ini");
            string ver_old = Application.ProductVersion.ToString();
            string ver_new = chk_up.version.ToString();
            // So sánh 2 phiên bản 
            if (ver_new.CompareTo(ver_old) == 1)
            {
                MessageBox.Show("Đã có phiên bản mới của. Vui lòng tải về!", "Thông báo cập nhật");
                System.Diagnostics.Process.Start(chk_up.lnk_dl);
            }

        }
    }
}
